package com.example.daibanshiwu.mapper;

import com.example.daibanshiwu.pojo.Group;
import com.example.daibanshiwu.pojo.GroupMember;
import com.example.daibanshiwu.pojo.Message;
import com.example.daibanshiwu.pojo.TUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface GroupMapper {

 //寻找当前所有分组信息
 List<Group> findGroup();

 //删除分组
 int deleteGroups(@Param("list") List<String> groupIds);
 int deleteGroupMembersByGroupIds(@Param("list") List<String> groupIds);
 int deleteMessagesByGroupIds(@Param("list") List<String> groupIds);

 //寻找除管理员以外的所有用户
 List<TUser>findAllUser(String name);
 List<TUser>findAllUser();
 //通过当前多个子分组寻找组员
 List<TUser>getUsersByGroupId(@Param("groupIdList") List<String> groupIdList);

 //更新组状态
 int updateStatus(
         @Param("groupId") String groupId,
         @Param("newStatus") String newStatus
 );

 //添加小组基本信息
 int insertGroup(Group group);

 //添加小组成员
 int insertGroupMember(@Param("memberList") List<TUser> memberList,
                       @Param("groupId") String groupId);
}
